/**
 * 
 * Mejora la interactividad para el usuario en la vista de registro y actualización de datos antropomórficos
 * @author Mauricio Chamorro
 * @returns {undefined}
 */
$(function() {
    var talla, peso, imc;
    
    $("#DatosAntropomorficos_ninios_id").on('change',function(){
        
         id = $('#DatosAntropomorficos_ninios_id').attr("value")
        if (id != '') {
            devolverFechaNacimiento(id);
        }
    });
    
    if ($('#hiddenNinios').val() != '') { // create
        id = $('#hiddenNinios').attr("value");
        if (id !== '') {
            devolverFechaNacimiento(id);
        }
    }
    else { //update
        id = $('#DatosAntropomorficos_ninios_id').attr("value")
        if (id != '') {
            devolverFechaNacimiento(id);
        }
    }
    $('#DatosAntropomorficos_talla').on('blur', function() {
        peso = $('#DatosAntropomorficos_peso').val();
        talla = $('#DatosAntropomorficos_talla').val();
        if ((talla != 0 || talla != '') && (peso != 0 || peso != '')) {
            $('#DatosAntropomorficos_imc').val((((peso / talla) / talla) * 10000).toFixed(2));
            imc = $('#DatosAntropomorficos_imc').val();
        }
    });
    $('#DatosAntropomorficos_peso').on('blur', function() {
        peso = $('#DatosAntropomorficos_peso').val();
        talla = $('#DatosAntropomorficos_talla').val();
        if ((talla != 0 || talla != '') && (peso != 0 || peso != '')) {
            $('#DatosAntropomorficos_imc').val((((peso / talla) / talla) * 10000).toFixed(2));
            imc = $('#DatosAntropomorficos_imc').val();
        }
    });
    $("#DatosAntropomorficos_talla").numeric({decimal: ".", negative: false, decimalPlaces: 2, });
    $("#DatosAntropomorficos_peso").numeric({decimal: ".", negative: false, decimalPlaces: 2, });
});


/**
 * Habilita los campos para el ingreso mensual de datos antropomorficos
 * @author Mauricio Chamorro <mrchamorro@utn.edu.ec>
 * @param {int} id del niño
 */
function devolverFechaNacimiento(id) {
    url = 'ninio/ninios/ajaxFechaNacimiento';
    $.ajax({
        beforeSend: function() {
            verCargandoDatosModal();
            $('#DatosAntropomorficos_talla').attr('readonly', 'readonly');
            $('#DatosAntropomorficos_peso').attr('readonly', 'readonly');
            $('#submit').attr("disabled", true);
        },
        type: "GET", //GET or POST or PUT or DELETE verb
        url: baseUrl + url,
        data: {idNinio: id}, //Data sent to server
        dataType: "json", //Expected data format from server
        success: function(info) {
            $('#DatosAntropomorficos_edad').val((edad(info.fechaNacimiento, '')));
            if (info.checkImc === false) {
                setJStatusBar("Lo sentimos, no puede ingresar mas datos antropom&eacute;tricos correspondientes para este mes");
                $('#DatosAntropomorficos_talla').attr('readonly', 'readonly');
                $('#DatosAntropomorficos_peso').attr('readonly', 'readonly');
                $('#submit').attr("disabled", true);
            }
//            else {
//                $('#submit').attr("disabled", false);
//                $('#DatosAntropomorficos_talla').removeAttr('readonly');
//                $('#DatosAntropomorficos_peso').removeAttr('readonly');
//            }
        },
        complete: function() {
            if ($("#actionType").val() === "update") {
                validarActualizacionPorMes($("#DatosAntropomorficos_ninios_id").val(), $("#actionType").val(), $('#hiddenId').val());
            } else {
                validarActualizacionPorMes($("#DatosAntropomorficos_ninios_id").val(), $("#actionType").val(), '');
            }
            cerrarCargandoDatosModal();
            if ($('#hiddenNinios').val() != '') {
                $('#submit').attr("disabled", false);
                $('#DatosAntropomorficos_talla').removeAttr('readonly');
                $('#DatosAntropomorficos_peso').removeAttr('readonly');
            }

        },
        error: function(info) {//On Successful service call
            verCargandoDatosModal();
        }
    });
}


/**
 *  Ayuda a validar que la actualizacion sea dentro del mes actual al del 
 * registro del dato antropomorfico
 * @author Mauricio Chamorro <mrchamorro@utn.edu.ec>
 * @param {int} id del infante
 * @param {String} actionType describe el tipo de action
 * @param {int} idDatoAntro id dato antropometrico
 */
function validarActualizacionPorMes(id, actionType, idDatoAntro) {

    console.log(id, actionType, idDatoAntro);
    url = 'ninio/datosAntropomorficos/ajaxValidateUpdateDatoAntro';
    $.ajax({
        beforeSend: function() {
            verCargandoDatosModal();
            $('#DatosAntropomorficos_talla').attr('readonly', 'readonly');
            $('#DatosAntropomorficos_peso').attr('readonly', 'readonly');
            $('#submit').attr("disabled", true);
        },
        type: "GET", //GET or POST or PUT or DELETE verb
        url: baseUrl + url,
        data: {id: id, actionType: actionType, idDatoAntro: idDatoAntro}, //Data sent to server
        dataType: "json", //Expected data format from server
        success: function(info) {
            console.log("2 od");
            console.log(info);
            if (info === true) {
                if ($("#actionType").val() === "createUnique") {
                    setJStatusBar("Es posible ingresar nuevas medidas");
                } else {
                    setJStatusBar("Es posible actualizar");
                }
                $('#submit').attr("disabled", false);
                $('#DatosAntropomorficos_talla').removeAttr('readonly');
                $('#DatosAntropomorficos_peso').removeAttr('readonly');
            }
            else {
                if ($("#actionType").val() === "createUnique") {
                    setJStatusBar("Lo sentimos, no puede actualizar los datos antropom&eacute;tricos, intente actualizar el registro correspondiente para este mes del infante");
                } else {
                    setJStatusBar("Lo sentimos, no puede actualizar los datos antropom&eacute;tricos, debido a que no esta dentro del mes de ingreso de los datos");
                }
                $('#DatosAntropomorficos_talla').attr('readonly', 'readonly');
                $('#DatosAntropomorficos_peso').attr('readonly', 'readonly');
                $('#submit').attr("disabled", true);
            }
        },
        complete: function() {
            cerrarCargandoDatosModal();
        },
        error: function(info) {//On Successful service call
            verCargandoDatosModal();
        }
    });
}